home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
The World of Computer Software.iso
/
skhst110.zip
/
SKLITE.DOC
< prev
next >
Wrap
Text File
|
1991-11-14
|
55KB
|
1,181 lines
==============================================================================
SuperK HST HST v1.10 - MiniNet's External Protocol Driver
Protocols Supported: Xmodem Checksum Xmodem CRC
WXmodem 1K-Xmodem
Jmodem 8K K9Xmodem
Super8K Super8K-G MNP
Three D Three D-G MNP
4*by*4 4*by*4-G MNP
SixPack SixPack-G MNP
1K Xmdm-G MNP N = None
- Both Single and Full Batch modes
- No, Auto or Prompt User Receive Resume.
- Auto-Start while in SuperK Ansi Terminal mode
- Auto-Sync protocol switching to insure both sides are aligned
- Full Ansi-Terminal with cut `n paste download buffers and auto
download filename feed capabilities
SuperK is Copyright 1986,1991 by Crater Rim Software. All Rights Reserved.
SKLite HST v1.10 - Modified SuperK HST Driver
MiniNet's External Protocol Driver
Protocols Supported: Super8K Super8K-G MNP
ThreeD ThreeD-G MNP
4*by*4 4*by*4-G MNP
Sixpack Sixpack-G MNP
Full Batch - No, Auto or Prompt User Receive Resume.
SKLite is Copyright 1991 by Crater Rim Software. All Rights Reserved.
Dated 12/01/91 SKLite Initial Release.
==============================================================================
SuperK/SKLite HST Mininet's External Protocol Driver Page 1
Welcome to the world of the HST (High Speed Transfers) Protocols!
Although this documentation is written for the setup and use of SuperK,
it covers the setup and operation of both SuperK HST v1.10 and SKLite
HST v1.10
The package differences are as noted:
SuperK HST package SUPERK.HST (main program library)
SKHST.COM SuperK HST executible
SKHST.000 SuperK HST overlay
SKHST.001 SuperK HST overlay
SKJ.COM SuperK HST Jmodem driver
SKHST.DOC This DOC file
SKINST.COM SuperK HST Install Utility
SKINST.000 SuperK HST Install Utility overlay
SKLite HST package SKLITE.HST (main program library)
SKLITE.COM SuperK HST executible
SKLITE.DOC This DOC file
LICENSE.SKL Software License
MAILER.SKL Registration Mailer
BBS-REG.SKL BBS Registration Form
SKCNF.COM SKLite HST Install Utility
SKCNF.DOC Install Utility Docs
SuperK does not use (nor require) an external configuration file as it
holds all of the defaults within the main SKHST.COM file itself. Upon
installation and each time SKINST is run, the SuperK settings are read
in directly from SKHST.COM and written back to SKHST.COM when exiting
SKINST.
Where SuperK HST allows the user to configure all of the defaults
internally and toggle/change them via command line switches, SKLite is
geared more to the BBS operator (SysOp) who does not need all of the
features nor the ability to set/reset many of the default settings of
the full SuperK HST package. You will notice that not all of the SKLite
defaults can be changed. The "hard-coded" options are presented merely
for your information. However, all defaults are as denoted within the
configuration section.
Since all of the command line parameters can be predefined, SuperK HST
may be called with a minimum of hassle. For example... with the default
direction set to Receive, receiving files is as simple as calling SuperK
HST without any command line switches. Sending files with this
configuration would require the line switch to change direction, F and
the filespec in the form SKHST S F filespec
To this end, I will list and discuss all of the defaults as they are
common to both SuperK HST and SKLite HST.
I think the easiest way to explain the use and operation of SuperK (and
for the most part SKLite HST) is to step through the command line
switches.
SuperK/SKLite HST Mininet's External Protocol Driver Page 2
I guess the first step is to give you a comparison look at the SuperK
HST versus SKLite HST command lines and tell you that the command line
switches may be input in upper or lower case and may be in any order
just as long as there are the appropriate space delimiters and all
command line options are placed prior to the final F parameter that
precedes the filespec. Again, any/all of the command line switches are
purely optional. SuperK/SKLite will use the internal default settings
if no corresponding command line switch is found.
SuperK HST Command Line Options
SKHST P#@0BE1/5 S# U# Lname Xname Nchar Wdir DDW RS-skyalcxnfdmer# F filespec
SKLite HST Command Line Options
SKLITE P#@0BE1/5 S# U# Lname Xname Nchar Wdir DD RS-lcd F filespec
Command line parameters :
~~~~~~~~~~~~~~~~~~~~~~~
P#@0BE1/5
|||| |+-- Irq number (1..99) (optional)
|||| +--- Irq delimiter (optional)
|||+------- Port address in HEX (optional)
||+-------- Address/Irq delimiter (optional)
|+--------- Port number (1..4)
+---------- Port designator
P# - Comm Port to use.
Where # = 1, 2, 3 or 4
The port addresses and IRQ's are standard IBM/MSDOS values:
Address IRQ
------- ---
Com 1 = 03F8 HEX 4
Com 2 = 02F8 HEX 3
Com 3 = 03E8 HEX 4
Com 4 = 02E8 HEX 3
The comm port designator allows you to override the default comm port.
Under normal situations, you will have set the internal port default
in which this parameter is not required. However, there are times
when the SuperK driver will be used to transfer data over different
comm ports. In these cases, inclusion of the P# portion (where #
represents the port number 1,2,3 or 4) is all that is necessary.
Examples: P1 P2 P3 P4
The remaining @0BE1/5 portion of this switch allows you to specify the
port address and Irq number for those users who have comm ports
located at addresses and using Irqs that are not IBM/MS DOS standard.
SuperK/SKLite HST Mininet's External Protocol Driver Page 3
The @ and / are the address/irq delimiters and must be present.
Likewise the port address must be in HEX format (check your async card
manual) and Irq number MUST be present even if it is the standard Irq
4 or Irq 3
Example: P4@0BE1/5 (use COM 4 at HEX address 0BE1 and using Irq 5)
S###
|+--------- Port speed (0, 300, 1200, 2400, 4800, 9600
| 19200, 38400, 57600, 115200)
+---------- Port speed designator
S### - Port Speed.
Where ### = 0, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
S300 = 300 bps S19200 = 19200 bps
S1200 = 1200 bps S38400 = 38400 bps
S2400 = 2400 bps S57600 = 57600 bps
S4800 = 4800 bps S115200 = 115200 bps
S9600 = 9600 bps S0 = Autoset port to open rate
This is the speed at which the comm port is set at and not
necessarily the speed of the modem (if the port is locked that is).
Please note:
The 19200bps through 115200bps speeds, although feasible, require a
high speed Async Card with an NS16550 UART
U###
|+--------- User speed (0 300 1200 2400 4800 9600
| 19200, 38400, 57600, 115200)
+---------- User speed designator
U### - Modem Speed.
Where ### = 0, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
S300 = 300 bps S19200 = 19200 bps
S1200 = 1200 bps S38400 = 38400 bps
S2400 = 2400 bps S57600 = 57600 bps
S4800 = 4800 bps S115200 = 115200 bps
S9600 = 9600 bps S0 = Autoset port to open rate
This is the actual speed (according to the connection) of the modem.
The inclusion of the U parameter is purely optional and if present,
will be used to accurately calculate the transfer times and
accurately report the correct baud rate in the Transfer Log file. If
it is not specified, SuperK will set its value equal to the actual
port speed as specified via the S parameter.
SuperK/SKLite HST Mininet's External Protocol Driver Page 4
Lname
|+--------- Alternate log file name
+---------- Alternate log file designator
L - Alternate Log filename. The filename supplied here will override
the default Logfile name setting. You may include a full
drive:\path or simply the log filename.
Examples: Lspecial.log LC:\BBS\LOGS\TRANSFER.LOG
This is the filename SuperK uses to record the results of any
tranfers it performs.
Xname
|+--------- Alternate xfer text file name
+---------- Alternate xfer text file designator
X - Alternate Xfer Text filename. The filename supplied here will
override the default Xfer Text filename setting. You may include a
full drive:\path or simply the xfer text filename.
Examples: Lspecial.txt LC:\BBS\LOGS\TRANSFER.TXT
Nchar
|+--------- Node character (A..Z or 0..9)
+---------- Node character designator
Node Letter or Number. Where "char" = A to Z or 0 to 9
A word about the Logfile, Xfer.Txt file and Node character:
Most BBSes require that their work files (Logfile, Xfer.Txt, etc.) be
distinguished by a node character or number. This is the purpose the
Node Character default. The Node character/number is passed to the
Logfile and/or Xfer.Txt filenames by inserting a question mark (?) as
one, and only one, of the Logfile/Xfer.Txt name characters. If a
question mark is present, SuperK will substitute the Node character in
its place. If no node character is specified but a question mark is
present, SuperK will use the letter A as a Node character. If you do
not want SuperK to maintain a log and/or Xfer.Txt file, simply enter a
space for the default setting(s) for each/both.
Default Logfile setting or one passed via the Lname parameter
RESULTS?.LOG
If no node character is defaulted or passed via Nchar parameter
SuperK records transfer info to RESULTSA.LOG
If node character C is defaulted or passed via Nchar parameter SuperK
records transfer info to RESULTSC.LOG
Default Xfer.TXt setting or one passed via the Xname parameter
XFER-?.TXT
SuperK/SKLite HST Mininet's External Protocol Driver Page 5
If no node character is defaulted or passed via Nchar parameter
SuperK records transfer results to XFER-A.TXT
If node character C is defaulted or passed via Nchar parameter SuperK
records transfer results to XFER-C.TXT
XFER.TXT
~~~~~~~~
This is the filename SuperK uses to record transfer results for use
by BBS programs. It is written if (and only if) a Node character is
specified OR a question mark is used within the XferFile name
This file has the following format :
Filename
Upload or Download
Protocol (SB/MB)
Success or Fail
EOF (^Z)
Sample: SKLITE.ZIP
Download
SB
Success
^Z
The file will be created in the default directory if no drive/path is
specified. While in batch mode, only the first file transfer results
will be logged to this file. However, the log file will contain the
results of all files transferred in the batch.
Wdir
|+--------- Alternate work directory name
+---------- Alternate work directory designator
W - Alternate work directory. The path supplied here will override the
default Work Directory setting.
Specify as: WC:\SPECIAL\AREA\
This parameter was included in order to supply a simple means of
transferring files which have the Read Only attribute set. Since
the Turbo Pascal compiler opens all files in a Read and Write
state, SuperK would experience an I/O error when attempting to open
a Read Only file. Since this problem is more prevelant in a
networking environemnt... and I didn't particularly care to have to
revamp all of the SuperK file read/write I/O routines... This
option will circumvent the compiler problem for those users who
wish to use the SuperK driver to send Read Only files.
By specifying a work path here, SuperK will create a copy of the
requested download in this directory and then proceed to send the
copy. Upon completion (or abort) SuperK will erase the copy. Of
course, you may use this feature regardless of the File's Read Only
SuperK/SKLite HST Mininet's External Protocol Driver Page 6
Attribute... if you feel insecure at having SuperK access the
"master" file, set up a work path. If a work path is specified, it
MUST be a complete path including a drive letter, colon, backspace,
directory etc... upto a maximum of 33 characters. As is the case
with the SuperK support files, you may use a question mark as a
valid character within the path string. If SuperK encounters a
question mark in the Work Path, it will substitute the node
character specified on the command line or, if none is specified,
SuperK will substitute an A for the question mark.
Valid Paths:
Specifed Result
C:\BBSWORK C:\BBSWORK\filename
C:\NODE?WRK if no node specified
C:\NODEAWRK\filename
if node 1 specified
C:\NODE1WRK\filename
C:\BBS\NODE? if no node specified
C:\BBS\NODEA\filename
if node 1 specified
C:\BBS\NODE1\filename
InValid:
C:\NODE?WRK? if no node specified
C:\NODEAWRK?\filename
if node 1 specified
C:\NODE1WRK?\filename
DDW - This is a combination of parameters with each combination having
specific meanings.
D --- Alone Sets Suspend during writes to Yes
DD --- Setts Suspend during writes and Let buffer drain to Yes
DW --- Alone Toggles Direct screen writes
DDW --- Sets Suspend during writes and, Let buffer drain but
Toggles Direct screen writes
Suspend During Writes flag is used to tell SuperK to drop the CTS
line during disk writes. If you running a locked port of 19200 bps
or greater, be sure to set this flag (internally) to Yes.
SuperK/SKLite HST Mininet's External Protocol Driver Page 7
Let Buffer Drain flag is used to tell SuperK to NOT raise the CTS
line after a disk write, thus allowing the input buffer to drain to
a set "low level" mark. The Suspend During Writes flag is
automatically set if the Let Buffer Drain flag is toggled on. If
you running a locked port of 19200 bps or greater, and experience
excessive error counts (or aborted transfers with MNP protocols).
set this flag to Yes.
Direct Screen Writes flag is used to tell SuperK to write directly
to the screen memory area. SuperK uses direct screen writes when
displaying the initial transfer display screen and when the user
"flips" the screen via the F1 command key. The F1 screen flip
direct screen write is hardcoded to Yes in both SuperK HST and
SKLite. This toggle only effects the writing of the initial display
screen.
Please note how these flags are effected. Suspend dduring writes and
Let Drain are set to Yes but Direct Screen Writes is toggled (off to
on... on to off).
RS-skyalcxnfdmer#
|||||||||||||||+- Resume mode # (0,1,2)
||||||||||||||+-- Resume mode flag
|||||||||||||+--- Erase work batch list file toggle
||||||||||||+---- Monitor carrier toggle
|||||||||||+----- Strip (drop) filename
||||||||||+------ Fifos toggle
|||||||||+------- Noise (silent) mode
||||||||+-------- Extended log file entries toggle
|||||||+--------- Wait for CTS toggle
||||||+---------- Port locked flag
||||||+---------- Save aborts toggle
|||||+----------- OverWrite toggle
||||+------------ K9X calling toggle
|||+------------- S)ingle file / B)atch mode flag
||+-------------- Options delimiter
|+--------------- Protocol (X,C,W,Y,J,K,S,M,Q,E,D,B,F,H,I,N)
+---------------- R = receive / S = send flag or T = terminal mode
R - This is the Receive/Send/Terminal flag used to tell SuperK which
direction the transfer is going (R=receive S=send T=terminal).
There is a built in Ansi terminal mode within SuperK HST which
activates the auto-start transfer feature. The auto-start feature
is where the sending system sends a sequence code which
automatically signals the receiving end that a transfer is about to
begin. Since a BBS has no use for a terminal mode nor an
auto-start mode, these features have been left out of SKLite. This
is not to say that SKLite does not support the auto-start mode that
exists within SuperK HST (and K9X HST)! SKLite will still send the
required auto-start sequence even though it is not able to
auto-start in its receive mode.
SuperK/SKLite HST Mininet's External Protocol Driver Page 8
S - This is the protocol type designator. Note please that this
designator is placed immediately following the direction designator
without any space delimiters. With SuperK HST, the user may also
select N (none) as a protocol in which case, SuperK HST will
display the list of protocols and wait for the user to select one.
This of course, would bring a BBS to a screaching halt and has been
left out of SKLite!
Please note that the 1K-Xmodem-G in single file mode (SuperK HST
only) is fully compatible with the Qmodem 1K-Xmodem-G. However,
the 1K-Xmodem-G in batch mode (SuperK HST and SKLite) should not be
confused with DSZ's Ymodem-G and is only operational when both
sender and receiver are using SuperK HST, SKLite HST or K9X HST.
Protocols supported by SuperK HST:
both Single file and full Batch mode
X = XmodemChk C = XmodemCRC W = WXmodem
Y = 1K-Xmodem J = Jmodem 8K K = K9Xmodem
S = Super8K M = Super8K-G
E = Three D D = Three D-G
B = 4 BY 4 F = 4 BY 4-G
H = SixPack I = SixPack-G
Q = 1K Xmdm-G N = None
Protocols supported by SKLite HST:
in full Batch mode only
S = Super8K M = Super8K-G
E = Three D D = Three D-G
B = 4 BY 4 F = 4 BY 4-G
H = SixPack I = SixPack-G
Q = 1K Xmdm-G
(-) - The hyphen (-) without parenthesis options delimiter is ONLY
required if the command line is to contain further options. If you
are calling SuperK using all of the internal default settings, an
RS (receive using Super8K) or SS (send using Super8K) will suffice.
s - This is the Single file or Batch mode designator. Please note
again, that this designator is placed immediately following the
hyphen (-) options delimiter. SKLite only supports batch mode so
this parameter is not required by SKLite.
k - The K9X Calling toggle is only effective for use with K9X (or
another comm package). Under normal circumstances, SuperK simply
toggles the selected flag (off to on... on to off). However, when
calling SuperK from K9X or another comm package, the user usually
demands that the specified toggles be set ON regardless of the
internal defaults. Without the K9X Calling toggle present, this is
exactly what SuperK does... instead of (off to on.. on to off) any
paramters specified after the k are forced set to ON... Period!
SuperK/SKLite HST Mininet's External Protocol Driver Page 9
Since a BBS package has "set" parameters that it runs under, SKLite
has no use for a variable setting here and all command line
parameters specified within this particular parameter set are
ALWAYS forced to ON. Of course, if the parameter has already been
set correctly via SKCNF, there isn't any reason to specify this or
any other parameter!
y - Overwrite existing files. This flag setting tells SuperK whether
or not in can overwrite existing files during Batch mode
transfers. When using SuperK HST resume mode this flag MUST be set
to Yes. In the case of a BBS, overwrite privileges are not
normally available so this flag is hardcoded to No in SKLite HST.
a - Save Aborted transfers. This flag setting tells SuperK whether or
not it should keep any partial files which were aborted during
transfer. This flag holds for any protocol - batch or single file
mode. When using SuperK HST resume mode this flag MUST be set to
Yes. Again, in the case of a BBS, aborted transfer are not
normally kept so this flag is hardcoded to No in SKLite HST.
l - Port Locked flag. This parameter is provided to let SuperK know
that the port is locked at a higher speed than the actual modem
connect speed and MUST be present when using an USR HST (or any
high speed modem) that is operating with the port locked.
c - Perform CTS checking. This parameter is for those of you who have
your comm ports locked at a higher baud rate than the actual
connection. If this is the case, be sure to set this paramater to
Yes. Here are the result of my USR HST ATI4 and ATI5 Commands.
(this my modem setup for K9X HST also... using ATZ| as the K9X HST
modem init string)
ATI4 USRobotics Courier 14400 HST Settings...
B1 C1 E1 F1 M0 Q0 V1 X4
BAUD=38400 PARITY=N WORDLEN=8
DIAL=HUNT ON HOOK TIMER
&A1 &B1 &C1 &D2 &G0 &H1 &I0 &J0 &K0
&L0 &M4 &N0 &P0 &R2 &S1 &X0 &Y1
S00=000 S01=000 S02=043 S03=013
S04=010 S05=008 S06=002 S07=045
S08=002 S09=006 S10=007 S11=050
S12=050 S13=004 S14=000 S15=000
S16=000 S17=000 S18=000 S19=000
S20=000 S21=010 S22=017 S23=019
S24=000 S25=000 S26=000 S27=000
S28=008 S38=000
ATI5 USRobotics Courier 14400 HST NRAM Settings...
DIAL=TONE B1 F1 M0 X4
BAUD=38400 PARITY=N WORDLEN=8
SuperK/SKLite HST Mininet's External Protocol Driver Page 10
&A1 &B1 &G0 &H1 &I0 &J0 &K0 &L0
&M4 &N0 &P0 &R2 &S1 &X0 &Y1
S02=043 S03=013 S04=010 S05=008
S06=002 S07=045 S08=002 S09=006
S10=007 S11=050 S12=050 S13=004
S15=000 S19=000 S21=010 S22=017
S23=019 S24=000 S26=000 S27=000
S28=008 S38=000
x - Extended log entries toggle. This parameter tells SuperK which log
format to use. The standard logfile format is the same as that
used by DSZ. The additional information of the extended logfile
format is placed at the end of the standard DSZ log information
and should pose no problem in a BBS reading each logfile line.
The extended logfile should be a welcomed addition to the SysOp as
it includes the date stamp, user's name and SuperK serial number
for each file transferred. For this reason, the extended output
flag has been hardcoded this flag to Yes in SKLite.
Standard Logfile format is the same as the DSZ Zmodem log file
S 421760 38400 bps 1716 cps 0 errors 0 8192 E:\NA\DOG-1.ZIP SB
| | | | | | | ||
| | | | +- errors | | ||
| | | +------------ efficiency | | ||
| | +---------------------- port speed | | ||
| +----------------------------- filesize | | ||
+------------------------------- direction | | ||
packet size + | ||
filename --------+ ||
protocol -------------------------+|
Batch or Single -------------------+
Transfer Direction = R S or E for aborted transfer
File Size = bytes transferred or 0 if transfer fails
CPS efficiency = calculated cps or 0 if transfer fails
Extended Entry Logfile format:
Same as Standard format above but replaces protocol and Batch/Single
(SB) with
Super8K Batch 21:18:47 Sat 11/02/1991 Sal Manaro 00001
| | | | |
| | +- date stamp | |
| +---------- transfer mode | |
+------------------ full protocol name | |
SuperK reg user name -+ |
SuperK reg user serial number -----------+
n - Silent mode toggle. I tried running SuperK HST with the sound on
(Silent mode toggle set to No) on my BBS and it about drove me
crazy! Since this is purely a user feature and SKLite is geared to
the BBS SysOp, this flag has been hardcoded to No in SKLite.
SuperK/SKLite HST Mininet's External Protocol Driver Page 11
f - Fifos toggle. In SuperK HST, the user has the ability to toggle
the use of the FIFO buffer on/off. In SKLite, the use of the Fifo
buffer is automatic.
d - Drop Filename toggle. This parameter is the old SuperK RBBS
parameter. What I found is that RBBS was not alone in passing a
single filename to a protocol driver when operating in batch mode
receive! I will use RBBS as a sample of what this toggle is all
about.
RBBS-PC utilizes a true Batch download with a single file mode
upload. During uploads, RBBS-PC includes the full path and
filename as a filespec. Since SuperK (and SKLite HST Batch modes)
are TRUE Batch in both downloads and uploads, I have added the d
command line switch to tell SuperK that the filespec may (or may
not) include a filename. If the Drop Filename toggle is set to Yes,
SuperK will look for the last \ or : characters and parse (drop)
all characters after that, thus leaving just the path... which it
then appends to the filename(s) to be transferred. If the Drop
Filename toggle is set to No, SuperK simply appends each filename
to the filespec that is passed. The default is No (do not drop
filename).
example: RBBS-PC passes [FILE] as C:\RBBS\99\filename.ext
(or your defined upload path) during uploads
Drop Filename set to No results in an invalid file specification
C:\RBBS\99\filename.ext\
Drop Filename set to Yes results in a valid file specification
C:\RBBS\99\
for obvious reasons, if you use the d command line parameter, you
must include the last \ or at least one superflous (non \ or :
character) at the end of the file specification.
Drop Filename toggle set to Yes...
valid C:\RBBS\99\*.* results in C:\RBBS\99\
valid C:\RBBS\99\ABC.ZIP results in C:\RBBS\99\
valid C:\RBBS\99\ results in C:\RBBS\99\
invalid C:\RBBS\99 results in C:\RBBS\
no file specification results in *.* (all files saved
in logged drive\dir)
Drop Filename toggle set to No...
invalid C:\RBBS\99\*.* results in C:\RBBS\99\*.*\
invalid C:\RBBS\99\ABC.ZIP results in C:\RBBS\99\ABC.ZIP\
valid C:\RBBS\99\ results in C:\RBBS\99\
valid C:\RBBS\99 results in C:\RBBS\99\
no file specification results in *.* (all files saved
in logged drive\dir)
SuperK/SKLite HST Mininet's External Protocol Driver Page 12
m - Monitor Carrier toggle. By monitoring carrier, SuperK is capable of
automatically stopping a transfer and return to the calling program
if carrier is dropped. With Monitor Carrier set to No, SuperK
simply continues the transfer regardless of the presence of a
carrier or hang up the entire system until the transfer is manually
aborted.
Basically, the ability to turn off carrier monitoring allows you to
use SuperK HST to transfer files between systems via null modem
cable The Default is ON (Monitor Carrier) and hardcoded this way in
SKLite.
e - Erase work batch list file toggle. When SuperK receives multiple
filenames as a filespec, it creates a text file list of these
filenames. Under normal circumstances the text file list is simply
erased when SuperK exits back to DOS. The ability to save the work
batch list allows the user to use the created text file list as
input again in the case the first attempted transfer failed. Since
a BBS automatically creates its own text file list and passes that
name directly to SuperK (ala DSZ as @filelist), this flag is
hardcoded to No in SKLite.
r# - Resume mode where # = 0,1 or 2. SKLite does not support transfer
resume receives (mainly because the overwrite and save aborts flags
are set to erase any aborted transfers and protect overwrites of
existing files) but this does not mean that it does not support a
resume request from the other end!
Use of the command line parameter r# where # = 0, 1 or 2 will force
the preconfigured resume mode to whatever state you specify for
that transfer set only.
Since all of the SuperK protocols have default block write sizes
and each block has been CRC accepted before being written to disk,
there isn't any CRC check made on the existant file - only on the
resumed portion transfer. Again,
NO CRC CHECKS ARE MADE ON THE EXISTANT PORTION OF A RESUMED FILE.
On the same token, files that are less than the default protocol
block write size are automatically resent in their entirety and an
active resume mode overrides the Overwrite flag setting.
In summary... with the Resume mode active, the receiving side waits
for the filesize from then sending side and then checks for an
already existant file. If a file exists and the size is less than
the filesize sent by the sender and the existant file is an exact
multiple of the protocol default block write size, SuperK HST will
resume the transfer. If the size of the existant file is equal to
or greater than the filesize sent by the sender, the receiver will
refuse the file and move on to the next file.
The SuperK HST Resume supports an inactive and 2 active states.
SuperK/SKLite HST Mininet's External Protocol Driver Page 13
Here's how it works... the 3 states of Resume mode:
No - Command Line = r0
Normal operation with overwrite flag in control of how
duplicate filenames are handled.
Auto - Command Line = r1
Automatic resume if and only if the receiver's file is smaller
than the sender's file AND the receiver's file size is some
multiple of 1,3,4,6 or 8K ( 1K-Xmodem-G, ThreeD, 4*by*4,
Sixpack and Super8K default block write sizes respectively).
Prompt - Command Line = r2
If a duplicate file is found, SuperK HST will prompt for resume
instructions.
Your options are:
Resume Y
Pressing Y (or any other key) commences the resumption
of the transfer, appending the new data to the end of
the receiver's file.
Resume N
Pressing N cancels the receipt of the file and moves on
to the next file (or to DOS)
Start Over
Pressing S will inform SuperK HST that you wish to start
this transfer anew. SuperK HST will erase the receiver's
existant file and request that the sender start from the
beginning of the file.
Please note that the Prompt mode is on a timer loop that
will timeout in about 15 seconds. If no user input is
received before timing out, SuperK HST will default to
whatever the default Overwrite flag is set to...
Overwrite set to Yes = start transfer from from 0 bytes
Overwrite set to No = cancel the transfer
F - End of parameters / beginning of filespec Flag
This parameter acts as a flag for SuperK and denotes that ALL
parameters after the F are to be interpreted as filenames. For
obvious reasons, this parameter should be the last one specified
(before the filenames)! Each filename may contain a full path in the
form:
[d:\path\]Filename [d:\path\]Filename (to send/receive)
or
You may also specify the use of a text file containing a list of
filenames. Each filename in the list may contain a full path. This
option is specified as:
SuperK/SKLite HST Mininet's External Protocol Driver Page 14
@drive:\path\Filelist (of files to Batch send)
or
You may want to use the second option for file lists... that is,
include a second path where ALL of the files within the list reside.
This option is specified as:
@drive:\path\listfilename@drive:\path
Write On 0 flag
~~~~~~~~~~~~~~~
This is the only default setting which is not available via command
line switches. The Write on 0 flag setting tells SuperK whether or not
it should create the XferFile when a transfer is not successfully
completed and the uploaded file contains 0 bytes. The status of this
flag is the last check that SuperK makes before creating the XferFile.
A node character and XferFile name must be specified before the Write
On 0 flag comes into play. The default is YES.
Program control keys
~~~~~~~~~~~~~~~~~~~~
SuperK will recognize either the [Esc] key or ^X (control X) key during
transfers and will abort the current transfer, returning you to DOS.
OvlPath
~~~~~~~
Although in most cases, you will be storing all of the SuperK files in
the same directory as your comm/BBS program files, there are cases
where you may want to store them in a directory other than the logged
directory. This option allows you to do this. When SuperK starts up,
it will use the Overlay Path to locate its support files. The
SuperK/SKLite install utility automatically sets this parameter but if
you decide to change it you must supply the full drive and path in
which the SuperK/SKLite files reside and all of the SuperK/SKLite files
MUST reside in this area. If no OvlPath is defined, SuperK will expect
all of its files to reside in the logged directory.
The trick to changing the already defined Overlay Path is to first copy
the SuperK/SKLite files to the new location. Then start up the new
location of SKINST/SKCNF and change the Overlay path. After exiting to
DOS (the changes are saved automatically), you can then delete the
SuperK/SKLite files from the old location.
ErrorLevel Exits
~~~~~~~~~~~~~~~~
For ease of use within batch files.. in all cases, SuperK will exit
with an ErrorLevel determined by the success of the transfer.
If ALL transfers are successful, SuperK will return an ERRORLEVEL 0
If ANY ONE transfer fails, SuperK will return an ERRORLEVEL 1
Actual transfer results are logged regardless of success or failure.
SuperK/SKLite HST Mininet's External Protocol Driver Page 15
Creating Batch Files
~~~~~~~~~~~~~~~~~~~~
Both the SKINST and SKCNF install utilities have an option that will
create a full set of sample batch files for you. Both install
utilities also have the ability to create protocol definition files for
RBBS-PC and PCBoard.
NOTE: If you are operating a MiniNet BBS v18.00 or above... or K9X HST...
access to SuperK is handled internally and does not require the use
of the batch files.
Batch transfers
~~~~~~~~~~~~~~~
SuperK is capable of sending and receiving multiple files in batch
mode. Since this protocol driver was written for use with my MiniNet
BBS package... the sending of the file creation date (ala DSZ) tends to
drive me up the wall, creating quite a bit of confusion in keeeping
track of newly acquired files!
For this reason the major difference between SuperK Batch mode and
other Batch modes is that SuperK Batch only sends the File Name and
File size but does not send the file creation date.
During Batch mode transfers, SuperK will display the last 2 files
requested so that you may have a running update of what's happening.
SuperK is able to handle multiple filenames on the command line. The
command syntax remains the same but if more than one filename is
specified, SuperK will create its own BATCHLST file. If a Node
character is specified on the command line, that character will be used
for the extension of BATCHLST. The default is "A" if no node character
is specified (BATCHLST.A).
The number of filenames that can be specified will depend largely on
your own particular system setup, the string length used by your
calling program and the individual filename lengths.
This feature is only active while in Batch Send Mode (receive
automatically gets filename from sender), the command line paramaters
can be in any order, NO WILDCARDS ARE ALLOWED, the first filename MUST
be preceeded by an F (upper or lower case) and EACH filename may
include a full path.
Since the BATCHLST is created internally (by SuperK), SuperK will erase
the BATCHLST file once it is done with it... You may override this by
including an e as one of the command line parameters. The e parameter
toggles the status of the "erase work batch file" flag. If specified
on the command line, SuperK will not erase the BATCHLST file (until the
next time you specify multiple filenames, that is!)
Receiving files in Batch mode
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You do not have to supply any filename during batch mode receives.
You may of course, include a full drive:\path\ in place of a
filename.
SuperK/SKLite HST Mininet's External Protocol Driver Page 16
Use the F command line parameter to designate the path in the form: f
C:\FOO\BAR (with or without the trailing backslash). And... DO NOT
specify the f parameter if no path or filename is specified.
Sending files in batch mode
~~~~~~~~~~~~~~~~~~~~~~~~~~~
You may use any valid DOS wildcard configuration with the F
parameter.
Additionally, you may specify a list of filenames for SuperK to send.
The list filename is specified as
@drive\:path\listfilename
You may also specify a full drive:\path\ to where all of the files in
the list reside. This is specified as
@drive:\path\filelist@drive:\path
The filenames in the list may contain a full drive:\path\ (the same
or different) for each filename.
SuperK is capable of reading and extracting filenames from a standard
- single line - BBS files listing. If you use a BBS type files
listing, and call SuperK from the comm or BBS directory, you will
have to add the full drive:\path\ to each filename in the list if the
files to send do not reside in the default directory. There are
other ways of accessing files that reside in directories other than
the default (default upload and download directories, etc.), but I
won't go into this area as most comm and BBS programs do this work
for you (K9X does it ALL for you... automatically!)
Examples
~~~~~~~~
1. Use COM1, port at 38400 bps, connect at 9600 bps, Super8K batch
send files MYFILE.DOC and MYFILE.COM
SUPERK p1 s38400 u9600 SS f MYFILE.DOC MYFILE.COM
2. Use COM2, port at 19200 bps, Super8K batch Receive file *.DOC
SUPERK p2 s19200 RS
3. Use COM1, 9600 bps, Super8K-G Batch Send files in MYLIST.LST
which resides in my C:\BBS\ directory and record success results
to Node A of my BBS. The files listed in MYLIST.LST reside in
various directories on different drives
SUPERK p1 s9600 SM nA f @C:\BBS\MYLIST.LST
C:\BBS\MYLIST.LST looks like this:
ABC.ZIP (this one resides in the default directory)
D:\FOO\BAR\MYGAME.EXE
E:\LOTUS\123GRAPH.ZIP
SuperK/SKLite HST Mininet's External Protocol Driver Page 17
XFER.TXT (or XFERA.TXT if ? specified in the default xferfile
name) will reflect the results of the transfer. Note that only
the first filename and its transfer results will be present in
XFER.TXT. The logfile will however, contain the results of all
three files.
4. Use COM2, port at 19200 bps, connect at 2400 bps, ThreeD Batch
Send only files containing an ZIP extension and residing in my
C:\DLS directory.
SUPERK p2 s19200 u2400 SE f C:\DLS\*.ZIP
5. Use COM2, 19200 baud, Sixpack Batch Receive files - store them in
my C:\DLS directory.
SUPERK p2 s19200 RH f C:\DLS
Features in SuperK HST that are not supported or hardcoded in SKLite
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Command Line Switch Use Reason
------------------- ---------------------------- --------------------------
RS-skyaxnfmer#
|| ||||||||||
|| ||||||||||
|| |||||||||+------- Resume mode flag - not used for BBS operation
|| ||||||||+-------- Erase work batch list toggle - harcoded to Yes
|| |||||||+--------- Monitor carrier toggle - hardcoded to Yes
|| ||||||+---------- Fifos toggle - Automatic
|| |||||+----------- Noise (silent) mode toggle - hardcoded to No
|| ||||+------------ Extended log file entries - hardcoded to Yes
|| |||+------------- Save aborts toggle - hardcoded to No
|| ||+-------------- OverWrite toggle - hardcoded to No
|| |+--------------- K9X calling toggle - not used for BBS operation
|| +---------------- S)ingle/B)atch mode flag - SKLite is Batch mode only
|+------------------ Protocol (X,C,W,Y,J,K,N) - only High Speed protocols
+------------------- T = terminal mode - not used for BBS use
Auto Start Sequence
~~~~~~~~~~~~~~~~~~~
The Auto-Start mode sequence is the first data sent when SuperK is started
up and consists of the following:
asc(25) asc(25) SKn asc(25) asc(25) where n = SuperK protocol letter
SKn
||| |||
||| ||+---- ascii(25)
||| |+----- ascii(25)
||| +------ procotol letter *
||+-------- SuperK/SKLite codename
|+--------- ascii(25)
+---------- ascii(25)
SuperK/SKLite HST Mininet's External Protocol Driver Page 18
protocol letters = XCWYJKSMEDBFHIQ in SuperK HST Batch
SMEDBFHIQ in SKLite HST
for the polling program (BBS or comm pkg), the trigger character is
the first asc(25) received. Once received, the polling program looks
ahead in the comm buffer for the next three characters of the Auto
start sequence (cannot look for the entire remaining sequence as the
protocol character may differ). If present, the protocol character
immediately following the SK is extracted and used to change the
current specified protocol to match that of the other side (see the
Turbo Pascal routine below).
Function AutoStart : Boolean; {SuperK Auto Start Mode}
Const ProtoTypes = 'XCWYJKSMEDBFHIQ'; {SuperK protocol letters}
{'SMEDBFHIQ'; SKLite protocol letters}
Var PeekString : String[3];
ProtoChar : Char;
X : Byte;
Temp_Proto : Byte;
Begin
Temp_Proto := 0;
PeekString := '';
Delay(1000);
For X := 0 to 2 do PeekString := PeekString + Buffer_Peek(X);
If PeekString = 'SK' then begin
ProtoChar := Buffer_Peek(3);
X := Pos(ProtoChar,ProtoTypes);
If X > 0 then begin
Temp_Proto := X + 37; {K9X HST Batch mode protocols are # 36 thru 72}
If Default_Protocol <> Temp_Proto Then Begin
Default_Protocol := Temp_Proto;
Get_Default_Protocol(Default_Protocol);
End;
End;
End;
AutoStart := Temp_Proto <> 0;
End;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Notes:
~~~~~
- SKLite/SuperK HST have an auto-sync mode wherby the receiving side will
automatically switch protocols to match the sending side! This should
be a welcome feature to Sysops (and users) as it totally eliminates to
need for the user to set/reset the default protocol... Just as long as
the user has selected a SuperK protocol in BATCH mode, SuperK/ SKLite
HST will take care of the rest!
- All of the SuperK protocols contained in the SKLite are fully
compatible with the SuperK protocols contained in prior versions of
SuperK, SuperK HST and K9Xfer (the Canine Express Comm program SuperK
driver).
SuperK/SKLite HST Mininet's External Protocol Driver Page 19
- Both systems must be using SuperK HST, K9X HST or SKLite HST to invoke
any of the protocols.
- SysOps - please let your users know that using a batch type protocol
does not prevent them from transferring one file by itself. Most users
seem to take the word "batch" literally.
- If you have consistantly high transfer error counts:
1) Set the Drop CTS during writes flag to Yes. If this doesn't help
2) Set the Let buffer drain to Yes... If this doesn't help
3) Drop back to a smaller packet size protocol. This should do it!
- Contrary to popular belief, the use of large packet sizes in SuperK
does not me mean drastically increased transfer times when errors
occur... in fact, I believe you will see that most "reliable" transfer
protocols written by other authors take more error re-sync and resend
time than SuperK/SKLite
- I've heard alot of feedback that the cps results obtained by the SuperK
protocols are just impossible to achieve and somehow the program is (or
I am) lying about the cps results. I'm not going to defend myself or
my work by addressing these remarks other than to say that I am
offended by the implications/accusations and offer the following test
results for your review.
Dated: 11:29:28 Wed 11/13/1991
Super8K R 1170560 38400 bps 1721 cps 0 errors 0 8192 SPDSTR53.ZIP
Super8K-G R 1170560 38400 bps 1731 cps 0 errors 0 8192 SPDSTR53.ZIP
DSZ Ymodem-G R 1170543 38400 bps 1701 cps 0 errors 0 128 spdstr53.zip
DSZ MobyTurbo Z 1170543 38400 bps 1704 cps 0 errors 0 1024 spdstr53.zip
- The SuperK protocol driver is an intergral part of the MiniNet BBS
software program and as such, has been in use since 1985. If you need
more information on the various transfer protocols, please get a copy
of Canine Express Professional (Crater Rim's comm program) and review
the K9X.DOC file contained in that package. Although help in the setup
and operation of SuperK HST is reserved for registered users, I will be
happy to lend a hand as time permits. All suggestions are gratefully
received and reviewed! Let me know...
Enjoy,
Sal Manaro dba Crater Rim Softare Underdog's MiniNet BBS 24hrs
4028 41st Ave South 2.3 Gigs of files / 42 protocols
Seattle, Wa 98118 USA (206) 725-9233 1200/2400 via USR
(206) 723-6728 12/24/96/19200 USR HST